
#pragma once

#include <iostream>
#include <sstream>
#include <string>
#include "Administracion.h"
#include "Financiero.h"
#include "ListaCliente.h"
#include "NodoCliente.h"
#include "Cliente.h"
#include "ListaEnvio.h"
#include "NodoEnvio.h"
#include "Envios.h"
#include "Area.h"
#include "Ruta.h"
#include "Transporte.h"


using namespace std;

class Administracion;
class Financiero;

//Clase que contiene a la empresa y de la cual salen las demas clases
class THL
{

private:
    string nombre;
    string direccion;
    string correo;
    int telefono;
    int codPostal;
    Administracion *admin;      //Instancias dinamicas de administracion y financiero
    Financiero *finan;

public:
    THL(string nombre,string direccion,string correo,int telefono,int codPostal);
    THL();
    ~THL();
    string getNombre();
    void setNombre(string val);
    string getDireccion();
    void setDireccion(string val);
    string getCorreo();
    void setCorreo(string val);
    int getTelefono();
    void setTelefono(int val);
    int getCodPostal();
    void setCodPostal(int val);
    void solicitarRegalo(Cliente *obj);      //Solicita el regalo a administracion.h de acuerdo a un cliente
    Administracion* getAdmin();
    void setAdmin(Administracion* obj);
    Financiero* getFinan();
    void setFinan(Financiero* obj);
    string toString();
};
